﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.ImportacaoExportacao.Model.Parameter
{
    public class FiltroExportacaoFinanceiro : BaseModel, IFiltroImportacaoExportacao
    {
        #region Atributos

        private DateTime? _dataPregao;
        private string _nomeArquivo;
        private Enum.TipoArquivo _tipoArquivo;
        private Enum.TipoSistema _tipoSistema;
        private Enum.TipoFormatoArquivo _tipoFormatoArquivo;
        private Enum.TipoFormatoFinanceiro _tipoFormatoFinanceiro;
        private int? _codigoBroker;
        private int? _codigoCliente;
        private string _apelidoBroker;
        private string _apelidoCliente;
        private string _maquinaUsuario;

        #endregion

        #region Construtor

        public FiltroExportacaoFinanceiro()
        {
        }

        #endregion

        #region Propriedades

        public DateTime? DataPregao
        {
            get 
            { 
                return _dataPregao; 
            }
            set 
            {
                SetValue<DateTime?>("DataPregao", ref _dataPregao, value);

            }
        }

        /// <summary>
        /// Nome do arquivo a ser importado
        /// </summary>
        public string NomeArquivo
        {
            get
            {
                return _nomeArquivo;
            }
            set
            {
                SetValue<string>("NomeArquivo", ref _nomeArquivo, value);
            }
        }

        public Enum.TipoArquivo TipoArquivo
        {
            get
            {
                return _tipoArquivo;
            }
            set
            {
                SetValue<Enum.TipoArquivo>("TipoArquivo", ref _tipoArquivo, value);
            }
        }

        public Enum.TipoSistema TipoSistema
        {
            get
            {
                return _tipoSistema;
            }
            set
            {
                SetValue<Enum.TipoSistema>("TipoSistema", ref _tipoSistema, value);
            }
        }

        public Enum.TipoFormatoArquivo TipoFormatoArquivo
        {
            get
            {
                return _tipoFormatoArquivo;
            }
            set
            {
                SetValue<Enum.TipoFormatoArquivo>("TipoFormatoArquivo", ref _tipoFormatoArquivo, value);
            }
        }

        public Enum.TipoFormatoFinanceiro TipoFormatoFinanceiro
        {
            get
            {
                return _tipoFormatoFinanceiro;
            }
            set
            {
                SetValue<Enum.TipoFormatoFinanceiro>("TipoFormatoFinanceiro", ref _tipoFormatoFinanceiro, value);
            }
        }

        public int? CodigoBroker
        {
            get
            {
                return _codigoBroker;
            }
            set
            {
                SetValue<int?>("CodigoBroker", ref _codigoBroker, value);
            }
        }

        public int? CodigoCliente
        {
            get
            {
                return _codigoCliente;
            }
            set
            {
                SetValue<int?>("CodigoCliente", ref _codigoCliente, value);
            }
        }

        public string ApelidoBroker
        {
            get
            {
                return _apelidoBroker;
            }
            set
            {
                SetValue<string>("ApelidoBroker", ref _apelidoBroker, value);
            }
        }

        public string ApelidoCliente
        {
            get
            {
                return _apelidoCliente;
            }
            set
            {
                SetValue<string>("ApelidoCliente", ref _apelidoCliente, value);
            }
        }

        public string MaquinaUsuario
        {
            get
            {
                return _maquinaUsuario;
            }
            set
            {
                SetValue<string>("MaquinaUsuario", ref _maquinaUsuario, value);
            }
        }

        #endregion
    }
}
